home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / programm / MM2_DEV / S / MOS / CHARACTE.D < prev    next >
Encoding:
Modula Definition  |  1989-09-20  |  2.9 KB  |  81 lines

  1.  
  2. DEFINITION MODULE Characters;
  3.  
  4. CONST
  5.  
  6.   (* Standard ASCII-Namen für Control-Zeichen *)
  7.   NUL = 000C;    BS  = 010C;    DLE = 020C;    CAN = 030C;
  8.   SOH = 001C;    HT  = 011C;    DC1 = 021C;    EM  = 031C;
  9.   STX = 002C;    LF  = 012C;    DC2 = 022C;    SUB = 032C;
  10.   ETX = 003C;    VT  = 013C;    DC3 = 023C;    ESC = 033C;
  11.   EOT = 004C;    FF  = 014C;    DC4 = 024C;    FS  = 034C;
  12.   ENQ = 005C;    CR  = 015C;    NAK = 025C;    GS  = 035C;
  13.   ACK = 006C;    SO  = 016C;    SYN = 026C;    RS  = 036C;
  14.   BEL = 007C;    SI  = 017C;    ETB = 027C;    US  = 037C;
  15.  
  16.   DEL = 177C;
  17.  
  18.   (* Alternative Namen für Control-Zeichen *)
  19.   TAB = 011C; (* Ctrl-I *)
  20.   EOF = 032C; (* Ctrl-Z *)
  21.  
  22. TYPE
  23.  
  24.   ASCII  = SET OF [0C..377C];
  25.  
  26. CONST
  27.  
  28.   ASCII7   = ASCII {0C..177C};                  (* Alle "echten" ASCII-Z. *)
  29.   Letters  = ASCII {' '..176C,200C..377C};      (* Alle druckbaren Zeichen *)
  30.   Controls = ASCII {0C..37C,177C};              (* Alle Ctrl-Zeichen und DEL *)
  31.   Spaces   = ASCII {' ',11C..15C};              (* 'white space' *)
  32.   Digits   = ASCII {'0'..'9'};                  (* Alle Ziffern *)
  33.   HexDigits= ASCII {'0'..'9','A'..'F','a'..'f'};(* Alle hexadez. Ziffern *)
  34.   Alphas   = ASCII {'A'..'Z','a'..'z',          (* Alle Buchstaben *)
  35.                    'Ç'..'Ü','ß','á'..'º','ã'..'Õ','ij'..'IJ'};
  36.   Lowers   = ASCII {'a'..'z','ü'..'ì','æ',      (* Alle Kleinbuchstaben *)
  37.                    'ô'..'ÿ','ß','á'..'ñ','ª','º','ã','õ','ø','œ','ij'};
  38.   Uppers   = ASCII {'A'..'Z','Ç','Ä','Å','É',   (* Alle Großbuchstaben *)
  39.                    'Æ','Ö','Ü','Ñ','Ø','Œ','À','Ã','Õ','IJ'};
  40.   Greeks   = ASCII {'α','β','Γ','π','Σ','σ',    (* Alle griech. Buchstaben *)
  41.                    'µ','τ','Φ','Θ','Ω','δ','∮','ϕ','∈','∩'};
  42.  
  43. PROCEDURE IsASCII7 (c: CHAR): BOOLEAN;
  44.   (* Liefert TRUE, wenn 'c' ein echtes ASCII-Zeichen (7 Bit) ist *)
  45.  
  46. PROCEDURE IsLetter (c: CHAR): BOOLEAN;
  47.   (* Liefert TRUE, wenn 'c' ein druckbares Zeichen ist *)
  48.  
  49. PROCEDURE IsControl (c: CHAR): BOOLEAN;
  50.   (* Liefert TRUE, wenn 'c' ein Ctrl-Zeichen oder DEL ist *)
  51.  
  52. PROCEDURE IsDigit (c: CHAR): BOOLEAN;
  53.   (* Liefert TRUE, wenn 'c' eine Ziffer ist *)
  54.  
  55. PROCEDURE IsHexDigit (c: CHAR): BOOLEAN;
  56.   (* Liefert TRUE, wenn 'c' eine hexadez. Ziffer ist *)
  57.  
  58. PROCEDURE IsNum (c: CHAR): BOOLEAN;
  59.   (* Wie 'IsDigit' *)
  60.  
  61. PROCEDURE IsAlpha (c: CHAR): BOOLEAN;
  62.   (* Liefert TRUE, wenn 'c' ein Buchstabe ('a'-'z', 'A'-'Z' u. Umlaute) ist *)
  63.  
  64. PROCEDURE IsAlphaNum (c: CHAR): BOOLEAN;
  65.   (* Liefert TRUE, wenn 'c' ein Buchstabe oder eine Ziffer ist *)
  66.  
  67. PROCEDURE IsSpace (c: CHAR): BOOLEAN;
  68.   (* Liefert TRUE, wenn 'c' ein Space, FF, LF, CR, HT oder VT ist *)
  69.  
  70. PROCEDURE IsUpper (c: CHAR): BOOLEAN;
  71.   (* Liefert TRUE, wenn 'c' ein Groβbuchstabe ist *)
  72.  
  73. PROCEDURE IsLower (c: CHAR): BOOLEAN;
  74.   (* Liefert TRUE, wenn 'c' ein Kleinbuchstabe ist *)
  75.  
  76. PROCEDURE IsGreek (c: CHAR): BOOLEAN;
  77.   (* Liefert TRUE, wenn 'c' ein griechischer Buchstabe ist *)
  78.  
  79.  
  80. END Characters.
  81.